/******************************************************************
 * @version      : 1.0
 * @Author       : zhl
 * @Date         : 2023-08-09 10:12:07
 * @LastEditors  : zhl
 * @E-Mail       : zhll168@163.com
 * @Description  : 业务描述
 ******************************************************************/
#ifndef __DLT698_FRAME_MANAGER_H__
#define __DLT698_FRAME_MANAGER_H__
#include <unistd.h>
#include <stdint.h>
#include "APDU.h"
#include "CConfigManager.h"


class DLT698FrameManager
{
private:
    /* data */
    static DLT698FrameManager c_frame_manager;
    
public:
    DLT698FrameManager(/* args */);
    ~DLT698FrameManager();

    static DLT698FrameManager& getInstance();

    void init(std::weak_ptr<CConfigManager> cm);
    int handle(uint8_t* data, int len, DLT698_BUFFER& resp);
    // int handle_clent_apdu(DLT698_FRAME& frame);
    // int handle_server_apdu(DLT698_FRAME& frame);
    // int handle_link_apdu(DLT698_FRAME& frame);
    // int handle_security_apdu(DLT698_FRAME& frame);
};



#endif /* __DLT698_FRAME_MANAGER_H__ */